The present invention relates to a device which can be used to control a plurality of computers and in particular to a device which can be used to allow a pointer input device to be used to control a plurality of different computers based on the position of a pointer on the display device or devices of the computers.
There are a number of scenarios in which users have multiple computer screens or display devices which display information from a number of different computers. For example, in financial trading and control room environments it is common for users to monitor information on several screens that are arranged around their workspace. Very often these screens are fed from different computer systems and the user will typically need to interact with these different computers from time to time. In such cases, it is usually undesirable or impractical for the user to have a dedicated keyboard and mouse for every computer system and so a KM (Keyboard, Mouse) switch is commonly employed to enable a single keyboard and mouse to be switched between the computers as illustrated in FIG. 1.
Suitable KM switches, such as the Adder TS4 supplied by Adder Technology Limited, are usually switchable using specially assigned keyboard hotkey combinations and may sometimes also be switched using combinations of buttons on the mouse. Some users prefer a dedicated keypad to select the computer, such as the Adder RC4 provided by Adder Technology Limited. Using such equipment, the user may select the computer that they wish to control with the keyboard and mouse. A display on the KM switch confirms the selected computer, although this is often superfluous because the user can identify the selected system simply by observing which screen the mouse pointer is moving on.
Although such KM switches provide a useable solution to the problem of sharing a keyboard and mouse between multiple computers, the switching still needs to be controlled by the user and this is inconvenient for users who wish to frequently switch between computers. For convenience, it would be preferable for the switching to occur automatically in a manner that mimics the operation of a single computer with multiple connected monitors.
In this case of a single computer with a multiple monitor extended desktop, the user defines the orientation of their screens and the system automatically moves the mouse cursor on to the next screen as it flows over the edge of the previous adjacent screen. Such single computer, multiple monitor, extended desktop systems are generally known in the art.
However, it has been found by the Applicant that implementing the same intuitive operation across multiple computers is challenging because computer mouse interfaces do not usually provide information about the screen position of the mouse pointer. Further, standard style mice usually provide only relative movement data. Furthermore, computers often apply various different acceleration schemes to improve the mouse action. These issues mean that it is has not been practical on existing KM switches to determine the position of the mouse pointer on the screen by examining the mouse movement data that is sent to the computer. Consequently existing KM switches have not been able to implement automatic switching based on the mouse pointer moving across the edge of the screen because they are not able to determine the position of the mouse pointer reliably.
Software systems exist that enable automated switching of HID devices based on the mouse pointer position. An example of such a system is the open source software product called Synergy that may be downloaded from the Internet. Synergy works by connecting the keyboard and mouse to one computer and loading master software on this computer and slave software on each of the other computers that are to be controlled. The master and slave software programs communicate together over a common network that links the computers. The software is able to find the position of the mouse pointer from each computer's operating system and uses this information to route the keyboard and mouse data between the computers as required using the common network connection. When the keyboard and mouse focus is to be switched from the master computer to a slave computer, the master software intercepts the keyboard and mouse data and re-routes it via the network to a selected slave software program where it is utilised to control the slave computer. The basic keyboard and mouse switching action therefore mimics the operation of a KM switch.
Although useable, such software systems have the drawback that special software needs to be loaded onto each computer. This software is effectively remote control software and loading such software onto computers commonly breaks security rules which are often strict in various environments, such as financial and control room environments. It is therefore preferable not to use software to implement the automated switching of HID devices based on the mouse pointer position.
GB-2427530 describes a switching device including a switch controller which is used to control movement of a pointer on a display connected to a host computer system which currently has focus. Each host computer system includes a custom software service which has to be installed on the host computer system and which monitors the position of the pointed via the system mouse controller when the host has focus and then signals the switching device to change focus to another of the host computer systems when the pointer is moved in a predetermined pattern.
There are a number of drawbacks to the approach of installing software on each host computer system so that the host computer systems can communicate back to the switching device. Software drivers need to be loaded onto each of the host computer systems, but it is not always convenient or possible to install software onto computer systems (for example if the computers are physically remote or if the user does not have system administrator credentials to do so). Further, different versions of the software drivers need to be produced to support each different operating system and also to support new operating systems as they are introduced. Therefore, there are benefits in being able to provide a less intrusive or non-invasive approach which is more operating system independent.